package com.nebula.elasticjob.ce;

import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @Author: llq
 * @Date: 2019/9/23
 * 定时任务在两台主机上A,B同时运行.A处理id是奇数的数据，B处理Id为偶数的数据
 * 用传统的定时任务例如@Schedule注解能实现么？那当然是可以，直接写死硬编码即可。用Elastic-Job的话，则相当灵活
 */
public class DbQueryJob implements SimpleJob {
    @Autowired
//    private XXXDao xxxDao;

    @Override
    public void execute(ShardingContext shardingContext) {
        //分片序列号和参数用等号分隔，多个键值对用逗号分隔。分片序列号从0开始，不可大于或等于作业分片总数
        //如：0=a,1=b,2=c
        String shardingParameter = shardingContext.getShardingParameter();
        //mod是对id取余后的结果
//        List<xxx> xxxlists=xxxDao.select("select * from table where mod="+shardingParameter);
//        xxxlists.forEach(x->{
//            System.out.println("参数："+shardingContext.getShardingParameter()+"状态"+x.getStatus());
//        });
    }
}
